package controlador;

import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import remoto.IGestionRodamientos;
import dao.RodamientosDAO;
import dominio.Rodamiento;
import dto.RodamientoTO;

public class GestionRodamientos extends UnicastRemoteObject implements IGestionRodamientos, Serializable {
	private static final long serialVersionUID = 1L;

	public GestionRodamientos() throws RemoteException {
		super();
	}

	public int guardarRodamiento(RodamientoTO rodamiento) throws RemoteException {
		return RodamientosDAO.getInstance().guardarRodamiento(Rodamiento.fromDTO(rodamiento));
	}

	public RodamientoTO buscarRodamiento(String serie, String sufijo, String marca, String pais) throws RemoteException {
		Rodamiento r = RodamientosDAO.getInstance().buscarRodamiento(serie, sufijo, marca, pais);
		if (r != null)
			return r.getDTO();
		return null;
	}

	public List<RodamientoTO> listarRodamientos() throws RemoteException {
		List<RodamientoTO> lista = new ArrayList<RodamientoTO>();
		List<Rodamiento> rodamientos = RodamientosDAO.getInstance().listarRodamientos();
		for (Rodamiento r : rodamientos)
			lista.add(r.getDTO());
		return lista;
	}
}